home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.sgi.misc,comp.lang.c,comp.unix.programmer
- Path: in2.uu.net!bii!jem
- From: jem@bii.bruker.com (Joe Meier)
- Subject: memory management in UNIX (SGI IRIX)
- Message-ID: <DM0Jv9.9F4@bii.bruker.com>
- Organization: Bruker Instruments, Inc.
- Date: Tue, 30 Jan 1996 21:33:09 GMT
-
- We have a problem with a program running under UNIX (SGI IRIX 5.x).
- It uses X11 for a graphical user interface.
- The program allocates and frees large amounts of memory for data
- (sometimes chunks as big as 20M). The problem is that in a relatively
- short time the system runs out of swap sapce and we have to kill the program.
- We have investigated the problem and it seems to be that the allocated memory
- is getting segmented, so that even though the memory is freed by calls to
- "free", the next malloc does not necessairly use the freed space because it
- cannot find a large enough contiguous block and instead allocates more from
- the system. When we were working with smaller data sizes this was not a
- problem, but the bigger data sizes is causing some svere problems. The
- first question is whether anyone else has encountered similar problems
- and what caused them and how they solved it? Also, I wanted to know if
- there exists any intelligant memory managers that will move memory blocks
- in order to keep all the free space in on contiguous location? I think this
- would go a long way towards solving our problems??? Of-course if anyone
- has other sugestions for what the cause of our problems are, they would be
- greatly appreciated.
-
- Since, I am cross posting this to several news groups, I ask that
- responses be e-mailed directly to me (at jem@bruker.com) so that I can more
- eaisly keep track of them. I will post a summary (for those interested) once
- I have complied the responses.
-
- Thanks for the help,
-
- Joe Meier
-